package pms.dao;

import pms.entity.Medicine;

import java.time.LocalDate;
import java.util.List;

public interface MedicineDao {

     boolean deleteMedicineNumberEqual0();//删除数量为零的药品记录

     List<Medicine> qurryMedicineNumberByName(String name);//根据药品名称查询药品总数量

     boolean qurryMedicineNumberUnderThd();//查询是否存在总数量低于阈值的药品

     List<Medicine> qurryAllMedicineNumberUnderThd();//查询所有总数量低于阈值的药品

     List qurryAllMedicineDateBeforeNow();//查询所有过期药品

     boolean deleteMedicileDateBeforeNow();//删除过期药品记录

     boolean qurryMedicineDateBeforeNow();//查询是否存在过期药品

     List<Medicine> qurryAllNearTermMedicine();//查询所有近效期药品

     boolean qurryNearTermMedicine();//查询是否存在近效期药品

     boolean addMedicine(Medicine medicine);//添加药品数据

     boolean updateMedicineNumberByNameAndDate(String name, LocalDate date, int number);//根据药品名称和日期修改药品数量

     boolean updateMedicinePriceByName(String name,double price);//根据药品名称修改药品价格
     Medicine queryNameById(Integer id);//根据id查询药品名称
     Medicine qurryMedicineNumberByID(Integer medicineid);

     List<Medicine> qurryMedicineByThd();
     Medicine qurryMedicineByID(Integer medicineid);//根据药品id查询此批次的对应药品信息
     List<Medicine> queryMedicineByMedicinenameForLeave(String medicinename);//根据药品名称查询所有不同批次的此名称药品
     boolean updateMedicineNumberForUp(int medicineid,int medicinenumber);//增加药品数量
     boolean updateMedicineNumberForDown(int medicineid,int medicinenumber);//减少药品数量
}
